iT邦幫忙

2022 iThome 鐵人賽

DAY 29
0

今天會盡可能用簡單的方式說明ECS是什麼東西。
ECS(Elastic Container Service),直譯為中文是彈性化容器服務。

什麼是容器(Container)呢?
過往我們在使用程式的時候,可能會發現A電腦可以用,但B電腦不行。
主要是因為不同電腦的硬體(CPU、RAM等)及作業系統都有所差異,所以才會A可以B不行。
而這個現象也同樣會發生在虛擬機(Virtual Machine,簡稱VM)上,譬如我們之前練習過的EC2就是VM的一種,光EC2的M系列就好幾種規格了,當然每台VM也可能是不同的。
而容器則是一種虛擬化的作業系統,將容器內的程式所需要的作業系統、CPU、記憶體等全部統一,讓在每台能使用容器的電腦,都能透過容器來啟動程式。
而映像檔(Image)則是Container的模板,Container是依據Image所建立出來的執行個體(Instance)。
這邊稍微瞭解一下什麼是Container 與Image。
下圖為是常見的Continer v.s. VM。
https://ithelp.ithome.com.tw/upload/images/20221013/20152618d4qN9mnMWC.jpg

ECS就是一個使用Container的服務。

以下說明為ECS Farget的模式

ECS簡單可以分為幾個東西:

  • Cluster
  • Service
  • Task Number
  • Task Definition
  • Task
    https://ithelp.ithome.com.tw/upload/images/20221014/20152618wqjgrKoWvZ.jpg
    介紹各服務之前來想像有一間百貨公司,百貨公司本身提供很多空間給店家,
    每家店因為自己的財力與策略不同,可能有的會請1個店員,有的可能會請5個店員不等。
    而每間店賣的東西不同,自然也會有不同的教育訓練來培訓員工,好讓客人願意掏錢。

Cluster

Cluster就是這間百貨公司。
Cluster裡面可以設定很多的Service,並提供地方讓Service使用。
只是這間百貨公司還同時兼做人力仲介,會提供店員(Task)給各店家使用。

Service

Service就是不同的店家。
Service可以有各自的想做的事情與目標,比方說A Service是Jo Malone要負責賣香水
B Service是鼎泰豐負責賣小籠包。

Task Number

Task Number可以想像是這家店要"多少數量"的店員。
Jo Malone櫃位不大,可能只需要2名店員做事,所以每個時段所需的店員"數量"是2
鼎泰豐一次要服務4、50位客人,所以需要10名店員來做事,所以每個時段所需的店員"數量"是10。

Task Definition

Task Definition就像是每間店訓練員工所做的教育訓練。
Jo Malone的店員需要知道每支香水的質調。
鼎泰豐的店員則是要能介紹每到菜餚。

Task

Task就是真的在做事情的店員了。
在AWS世界裡,每個Task都跟EC2一樣,是個執行個體(Instance)。
而這裡的Task都是Container的執行個體

小節一下,
Cluster提供空間與Instance給Service,Service會有自己的Task Number來指定自己需要多少Task,並透過Task Definition來告訴Task要做那些事。

那彈性在哪裡?
我們只要設定好Task definition與Image就好,後續完全不需要去維護Instance(就是Task)。ECS也會定期檢查Task是否有正常運行,如果Task掛了,他會自己再起一個新的Task來用。

ECS確實是一個蠻輕鬆好用的服務,價格也比EC2來的便宜。
但是對於新手來說,門檻就稍微高一點了,
有太多觀念與知識要啃,才能夠真的自己寫出一套能用的ECS。


上一篇
D28 刪除VPC環境資源
下一篇
Final and restart
系列文
aws從零開始的新手筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言